//
//  WFStatusListViewModel.swift
//  WangFangWeiBo
//
//  Created by 王方 on 16/7/13.
//  Copyright © 2016年 wf. All rights reserved.
//

import UIKit

class WFStatusListViewModel: NSObject {
    //微博数据源
    lazy var statusList:[WFStatusViewModel] = [WFStatusViewModel]()
    //加载微博数据
    func loadStatus(isPullUp:Bool, callBack: (isSuccess: Bool,pullRefreshInfoMessage:String)->()) {
        //上拉默认值0
        var maxId:Int64 = 0
        var sinceId:Int64 = 0
        
        if isPullUp {
        //如果是上拉刷新
            maxId = statusList.last?.status?.id ?? 0
            if maxId > 0 {
                 //  防止获取重复的数据,我们对其微博id减1
                maxId -= 1
            }
            
        }else{
            sinceId = statusList.first?.status?.id ?? 0
        }
        var message = "没有加载到最新的数据"
        
        WFStatusDAL.loadData(maxId, sinceId: sinceId) { (statusDicArr) -> () in
            var tempArr = [WFStatusViewModel]()
            for statusDic in statusDicArr {
                let status =  WFStatus(dic: statusDic)
                let statusViewModel = WFStatusViewModel(status: status)
                tempArr.append(statusViewModel)
            }
        
        
            
            
            if isPullUp {
                //如果是上拉加载更多,就直接加载后面
                self.statusList.appendContentsOf(tempArr)
            }else{
                //如果是下拉刷新
                
                self.statusList.insertContentsOf(tempArr, at: 0)
            }
            if tempArr.count > 0 {
                message = "加载了\(tempArr.count)条微博数据"
            }

//            self.tableView.reloadData()
//            self.statusList.appendContentsOf(tempArr)
            //到此为止请求数据完全是成功的
            callBack(isSuccess: true,pullRefreshInfoMessage: message)
            
        }
        
    }

}
